﻿using Abp.AutoMapper;
using Akso.Entities;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Akso.Courses.Dto
{
    /// <summary>
    /// 新增、编辑页面显示数据时的Dto对象，可以被其它Dto使用。
    /// </summary>
    [AutoMap(typeof(CourseEntity))]
    public class CourseEditDto
    {
        /// <summary>
        /// Set null to create a new object. Set user's Id to update a object.
        /// </summary>
        public Guid? Id { get; set; }
       
        [Required]
        [MaxLength(CourseEntity.MaxNameLength)]
        public virtual string CourseName { get; set; }
        public virtual int TenantId { get; set; }

        public virtual bool IsAutoCreateName { get; set; }
        public virtual int Years { get; set; }
        [MaxLength(CourseEntity.MaxPeriodLength)]
        public virtual string Period { get; set; }
        public virtual Guid? PeriodGUID { get; set; }
        [MaxLength(CourseEntity.MaxGradeLength)]
        public virtual string Grade { get; set; }
        public virtual Guid? GradeGUID { get; set; }
        [MaxLength(CourseEntity.MaxSubjectLength)]
        public virtual string Subject { get; set; }
        public virtual Guid? SubjectGUID { get; set; }
        [MaxLength(CourseEntity.MaxSubjectTypeLength)]
        public virtual string SubjectType { get; set; }
        public virtual Guid? SubjectTypeGUID { get; set; }
        public virtual bool IsQK { get; set; }
        [MaxLength(CourseEntity.MaxChargeTypeLength)]
        public virtual string ChargeType { get; set; }
        public virtual bool IsAnQi { get; set; }
        public virtual int ChargeTime { get; set; }
        public virtual decimal Price { get; set; }
        [MaxLength(CourseEntity.MaxCourseTypeLength)]
        public virtual string CourseType { get; set; }
        public virtual Guid? CourseTypeGuid { get; set; }
        public virtual bool IsDisable { get; set; }
        [MaxLength(CourseEntity.MaxRemarkLength)]
        public virtual string Remark { get; set; }
    }
}
